package com.dataset.manager.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Data
@Component
@ConfigurationProperties(prefix = "dataset")
public class SystemConfig {
    
    private Storage storage = new Storage();
    private Processing processing = new Processing();
    private DataSource data_source = new DataSource();

    @Data
    public static class Storage {
        private String storage_type;
        private String local_path;
    }

    @Data
    public static class Processing {
        private List<String> sort_columns;
        private Map<String, String> type_conversions;
        private String partition_by;
        private String partition_column;
        private String date_format;
        private String output_path;
    }

    @Data
    public static class DataSource {
        private List<String> csv_files;
        private String input_path;
        private String encoding;
        private String delimiter;
    }
}